package cubelabs.nexus.dto;

import java.util.List;

import javax.persistence.Entity;

import cubelabs.nexus.entity.Category;
import cubelabs.nexus.entity.CourseMetadata;
import cubelabs.nexus.entity.InstructionLevel;

@Entity
public class CourseDTO{

	public Long id;
	
	public String name;
	
	public String description;
	
	public Category category;
	
	public InstructionLevel instructionLevel;
	
	public String imagePath;
	
	public String promoVideoPath;
	
	public Integer rating;
	
	public String courseUserIntro;
	
	private String keyWordsStr;

	private String goals;
	
	private String intendedAudience;
	
	private String courseRequirements;
	
	private List<CourseMetadata> metaDataList;
	
	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description the description to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}


	/**
	 * @return the category
	 */
	public Category getCategory() {
		return category;
	}

	/**
	 * @param category the category to set
	 */
	public void setCategory(Category category) {
		this.category = category;
	}

	/**
	 * @return the instructionLevel
	 */
	public InstructionLevel getInstructionLevel() {
		return instructionLevel;
	}

	/**
	 * @param instructionLevel the instructionLevel to set
	 */
	public void setInstructionLevel(InstructionLevel instructionLevel) {
		this.instructionLevel = instructionLevel;
	}

	/**
	 * @return the imagePath
	 */
	public String getImagePath() {
		return imagePath;
	}

	/**
	 * @param imagePath the imagePath to set
	 */
	public void setImagePath(String imagePath) {
		this.imagePath = imagePath;
	}

	/**
	 * @return the promoVideoPath
	 */
	public String getPromoVideoPath() {
		return promoVideoPath;
	}

	/**
	 * @param promoVideoPath the promoVideoPath to set
	 */
	public void setPromoVideoPath(String promoVideoPath) {
		this.promoVideoPath = promoVideoPath;
	}

	/**
	 * @return the rating
	 */
	public Integer getRating() {
		return rating;
	}

	/**
	 * @param rating the rating to set
	 */
	public void setRating(Integer rating) {
		this.rating = rating;
	}

	/**
	 * @return the courseUserIntro
	 */
	public String getCourseUserIntro() {
		return courseUserIntro;
	}

	/**
	 * @param courseUserIntro the courseUserIntro to set
	 */
	public void setCourseUserIntro(String courseUserIntro) {
		this.courseUserIntro = courseUserIntro;
	}

	public String getKeyWordsStr() {
		return keyWordsStr;
	}

	public void setKeyWordsStr(String keyWordsStr) {
		this.keyWordsStr = keyWordsStr;
	}

	public String getGoals() {
		return goals;
	}

	public void setGoals(String goals) {
		this.goals = goals;
	}

	public String getIntendedAudience() {
		return intendedAudience;
	}

	public void setIntendedAudience(String intendedAudience) {
		this.intendedAudience = intendedAudience;
	}

	public String getCourseRequirements() {
		return courseRequirements;
	}

	public void setCourseRequirements(String courseRequirements) {
		this.courseRequirements = courseRequirements;
	}

	public List<CourseMetadata> getMetaDataList() {
		return metaDataList;
	}

	public void setMetaDataList(List<CourseMetadata> metaDataList) {
		this.metaDataList = metaDataList;
	}
	
}
